        #region[Check Available Ports]
        public bool IsPortOpen(Object obj)
        {
            //create vars for testing
            bool _available = false;
            SerialPort _tempPort;

            //create a loop for each string in SerialPort.GetPortNames
            foreach (string str in SerialPort.GetPortNames())
            {
                try
                {
                    _tempPort = new SerialPort(str);
                    _tempPort.Open();

                    //if the port exist and we can open it
                    if (_tempPort.IsOpen)
                    {
                        ((ComboBox)obj).Items.Add(str);
                        _tempPort.Close();
                        _available = true;
                    }
                }
                
                //else we have no ports or can't open them display the 
                //precise error of why we either don't have ports or can't open them
                catch (Exception ex)
                {
                    MessageBox.Show(ex.ToString(), "Error - No Ports available", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    _available = false;
                }
            }
            
            //return the temp bool
            return _available;
        }